Systems, apparatus, methods and computer-readable storage media facilitating heterogeneous messaging for a communication device

ABSTRACT

Calls and messages are threaded, e.g., a method can include: receiving messaging content; and displaying the messaging content in a single thread, wherein the messaging content is threaded and a thread of the messaging content comprises at least one text message and at least one call. The method can further include threading the messaging content, wherein the threading comprises ordering the messaging content based, at least, on a time at which received ones of the messaging content are received at a communication device. For instance, the messaging content can include one or more of voice information, MMS or SMS text messages, voicemail information, system messages, email messages, instant messages, pictorial information, video information or audio information, data traffic information, user-opted notifications, traffic reports, news alerts, weather information, stock reports, social networking chats, social networking posts or social networking status updates.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of, and claims priority to each of,U.S. application Ser. No. 14/501,271, filed Sep. 30, 2014 and entitledSYSTEMS, APPARATUS, METHODS AND COMPUTER-READABLE STORAGE MEDIAFACILITATING HETEROGENEOUS MESSAGING FOR A COMMUNICATION DEVICE, whichis a continuation of U.S. application Ser. No. 12/903,679 (now U.S. Pat.No. 8,881,025), filed Oct. 13, 2010 and entitled SYSTEMS, APPARATUS,METHODS AND COMPUTER-READABLE STORAGE MEDIA FACILITATING HETEROGENEOUSMESSAGING FOR A COMMUNICATION DEVICE, each of which patents and patentapplications claim further priority to and the benefit of U.S.Provisional Application No. 61/251,717, filed Oct. 14, 2009, and titled“SYSTEMS, METHODS AND APPARATUS FOR NEXT-GENERATION MOBILE MESSAGING,”the entire contents of which are incorporated herein by reference. Thisapplication is related to U.S. Non-Provisional patent application Ser.No. 12/643,726 (now U.S. Pat. No. 9,424,444), filed Dec. 21, 2009,titled “SYSTEMS, APPARATUS, METHODS AND COMPUTER-READABLE STORAGE MEDIAFOR FACILITATING INTEGRATED MESSAGING, CONTACTS AND SOCIAL MEDIA FOR ASELECTED ENTITY.”

BACKGROUND

With advancements in technology, the amount and different types ofinformation that users can access over wireless networks is growingrapidly. Similarly, mobile devices are becoming ubiquitous due toconvenience of use resultant from their lightweight nature. Users arealso pushing the envelope on the applications and information that arerequired to be provided via the devices to maintain contact with friendsand colleagues. Varied types of communication can be facilitated withcommunication devices. For example, voice calls and messaging can befacilitated with communication devices. However, due to the distincttreatment and handling of different types of information, processingvoice call and messages heterogeneously can be a complex task. Further,because voice calls are real-time traffic while messages arenon-real-time traffic, handling or displaying voice traffic similar tothe way that messages are displayed can leave the user confused and theease of use of the communication device reduced. As such, systems,apparatus, methods and computer-readable storage media for facilitatingheterogeneous messaging are desirable.

SUMMARY

The following presents a simplified summary in order to provide a basicunderstanding of various aspects described herein. The summary is not anextensive overview, and is not intended to identify key or criticalelements or to delineate the scopes thereof. The sole purpose of thesummary is to present selected concepts in a simplified form as aprelude to the more detailed description that is presented below.

The aspects described herein are systems, apparatus, methods andcomputer-readable storage media for facilitating messaging.

In one aspect, a computer-implemented method is provided. Thecomputer-implemented method can include: receiving messaging content;and displaying the messaging content in a single thread, wherein themessaging content is threaded and a thread of the messaging contentcomprises at least one text message and at least one voice call.

In another aspect, a computer-implemented method is provided. Thecomputer-implemented method can include: receiving messaging content;and displaying the messaging content in a single thread, wherein themessaging content is threaded in an order of the messaging contentbased, at least, on a perspective of a communication device at which themessaging content is received.

In yet another aspect, an apparatus is provided. The apparatus caninclude: a processor; a messaging component configured to: receivemessaging content; thread the messaging content in a single thread,wherein the messaging content comprises at least one text message and atleast one voice call; and display threaded messaging content; and acomputer-readable storage medium storing computer-executableinstructions that, if executed, cause the processor to perform one ormore functions of the messaging component.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of various aspects detailedherein are described with reference to the following figures, whereinlike reference numerals refer to like parts.

FIG. 1 illustrates a block diagram of an exemplary system forheterogeneous messaging in accordance with various aspects describedherein.

FIG. 2 illustrates a block diagram of an exemplary communication devicein which heterogeneous messaging can be provided in accordance withvarious aspects described herein.

FIGS. 3 and 4 illustrate flowcharts of exemplary methods forheterogeneous messaging at a communication device in accordance withaspects described herein.

FIGS. 5A and 5B illustrate display regions of user interfaces ofcommunication devices providing heterogeneous messaging device inaccordance with aspects described herein.

FIGS. 6A, 6B, 6C, 6D and 6E illustrate display regions of userinterfaces of locked communication devices providing heterogeneousmessaging device in accordance with aspects described herein.

FIG. 7 illustrates an exemplary operating environment that facilitatesthe systems, apparatus, methods and computer-readable storage mediadescribed herein.

FIG. 8 illustrates an exemplary network environment that facilitates thesystems, apparatus, methods and computer-readable storage mediadescribed herein.

DETAILED DESCRIPTION

Certain illustrative embodiments are described herein in the followingdescription and the annexed drawings. These embodiments are merelyexemplary, non-limiting and non-exhaustive. As such, all modifications,alterations, and variations within the spirit of the embodiments isenvisaged and intended to be covered herein.

Further, in the following description, for purposes of mere explanation,numerous, specific details are set forth in order to facilitate a morethorough understanding of the embodiments described herein, includingthe claimed subject matter. However, as is known to those of ordinaryskill in the art, the embodiments can be practiced, in many instances,without inclusion of the specific details.

As used in this application, the terms “component,” “module,” “system,”“interface,” and the like, are generally intended to refer to hardwareand/or software or software in execution. For example, a component canbe, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a programand/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents can reside within a process and/or thread of execution and acomponent can be localized on one computer and/or distributed betweentwo or more computers. As another example, an interface can includeinput/output (I/O) components as well as associated processor,application and/or application programming interface (API) components,and can be as simple as a command line or as complex as an IntegratedDevelopment Environment (IDE).

Furthermore, the embodiments can be implemented as a method, apparatusor article of manufacture using standard programming and/or engineeringtechniques to produce software, firmware, hardware, or any combinationthereof to control a computer, apparatus or article of manufacture toimplement the functionality disclosed herein. The term “article ofmanufacture,” as used herein, is intended to encompass a computerprogram, or computer program product, accessible from anycomputer-readable device, computer-readable carrier, computer-readablemedia or computer-readable storage media. Computer-readable storagemedia can include, but are not limited to, magnetic storage devices(e.g., hard disk, floppy disk, magnetic strip), optical disks (e.g.,compact disk (CD), digital versatile disk (DVD)), smart cards, and/orflash memory devices (e.g., card, stick, key drive). Additionally itshould be appreciated that a carrier wave can carry computer-readableelectronic data (e.g., the data transmitted and received via emailand/or to access the Internet or a network such as a local area network(LAN)). As known to those of ordinary skill in the art, modificationscan be made to the above embodiments without departing from the spiritof the disclosure.

It will be appreciated by one of skill in the art that a communicationnetwork for systems described herein can include any suitable mobile-and/or wireline-based circuit-switched communication network including aglobal systems for mobile communication (GSM) network, a time divisionmultiple access (TDMA) network, a code division multiple access (CDMA)network, such as IS-95 and subsequent iterations of CDMA technology, anintegrated digital enhanced network (iDEN) network and a public switchedtelephone network (PSTN). Further examples of a communication networkcan include any suitable data packet-switched or combination datapacket/circuit-switched communication network, wired or wirelessinternet protocol (IP) network such as a voice over internet protocol(VoIP) network, an IP data network, a universal mobile telecommunicationsystem (UMTS) network, a general packet radio service (GPRS) network, orother communication networks that provide streaming data communicationover IP and/or integrated voice and data communication over combinationdata packet/circuit-switched technologies.

Similarly, one of ordinary skill in the art will appreciate that acommunication device for systems disclosed herein can include a mobiledevice, mobile phone, a PSTN phone, a cellular communication device, acellular phone, a satellite communication device, a satellite phone, aVoIP phone, a wireless fidelity (WiFi) phone, a dual-mode cellular/WiFiphone, a combination cellular/VoIP/WiFi/Worldwide Interoperability forMicrowave Access (WiMAX) phone or any suitable combination thereof.Specific examples of a mobile device can include, but is not limited to,a cellular device, such as a GSM, TDMA, CDMA, IS-95 and/or iDEN phone, acellular/WiFi device, such as a dual-mode GSM, TDMA, IS-95 and/oriDEN/VoIP phones, UMTS phones UMTS VoIP phones, or like devices orcombinations thereof. To provide support for a mobile device, a gatewayrouting component can include any suitable component that can performcentralized routing within a mobile, satellite, or similar network (butoptionally need not include components that route strictly within a PSTNnetwork), routing between communication networks, between networks ofvarying architecture (e.g., between PSTN, GSM, Universal MobileTelecommunications System (UMTS), Enterprise VoIP, the Internet, orcombinations thereof), and the like. Specific examples of a gatewayrouting component can include, but are not limited to, a gateway mobileswitching center (GMSC), a gateway general packet radio service (GPRS)support node (GGSN), a session border control (SBC) device, or likedevices. Additionally, a data storage component of such a system caninclude any suitable device, process and/or combination device andprocess that can store digital and/or switched information (e.g.,server, data store component, data store component, or the like).

FIG. 1 illustrates a block diagram of an exemplary system thatfacilitates security of a communication device in accordance withvarious aspects and embodiments described herein. In an aspect, thesystem 100 can include communication devices 102, 104 and a core network106. The communication devices 102, 104 can be communicatively coupledto the core network 106. In various embodiments, one or more ofcommunication devices 102, 104 can include the software, hardware and/orhave the functionality and/or structure (or portions thereof) ofcommunication device 200 described herein (and vice versa).

In various embodiments, the core network 106 can include one or more ofsoftware, hardware and/or combination software and hardware configuredto provide connectivity to and between the communication devices 102,104. The system 100 can include one or more macro, Femto and/or picoaccess points (APs) (not shown), base stations (BS) (not shown) orlandline networks (e.g., optical landline networks, electrical landlinenetworks) (not shown) communicatively coupled between one or more of thecommunication devices 102, 104 and the core network 106 to provideconnectivity between the communication devices 102, 104 and the corenetwork 106. In various embodiments, the communication devices 102, 104can communicate via any number of various types of wireless technologiesincluding, but not limited to, cellular, WiFi, WiMax, wireless localarea networks (WLAN), etc. In corresponding embodiments, the corenetwork 106 can provide cellular, WiFi, WiMAX, WLAN and othertechnologies for facilitating such communication. The core network 106can also include the Internet (or another communication network (e.g.,IP-based network), a digital subscriber line (DSL)-type or broadbandnetwork facilitated by Ethernet or other technology. The core network106 can also include, in various embodiments, servers including, email,multimedia, audio, video, news, financial or stock information servers.

The core network 106 can also include short message service (SMS)networks and multimedia message service (MMS) networks. The core network106 can also include but is not limited to, routers, nodes, switches,interfaces, and/or controllers that can facilitate communication of datato or from the communication devices 102, 104. The core network 106 cantransmit and receive voice, voicemail, system messages, text (e.g., MMSmessages, SMS messages, email messages, instant messages), pictorial,video, audio, data traffic (e.g., user-opted notifications including,but not limited to, traffic reports, news alerts, weather information,stock reports), social networking chats, social networking posts, socialnetworking status updates to and from the communication devices 102,104. While only communication devices 102 and 104 are shown, in variousembodiments, the core network 106 can include or can be communicativelycoupled to other communication devices inside or outside of the network.In various embodiments, the network can also include hardware, softwareand/or a combination of hardware and software for allocating resourcesto the communication devices 102, 104, converting or enforcingprotocols, establishing and/or providing levels of Quality of Service(QoS), applications or services in the network, translating signals,and/or performing other desired functions to facilitate systeminteroperability and communication to or from the communication devices102, 104.

In various embodiments, the core network 106 can include or can becommunicatively coupled to one or more of multimedia servers (notshown), email servers (not shown), data store components (not shown),Internet (not shown) for communicating one or more of text (e.g., MMSmessages, SMS messages, email messages, instant messages), data,pictures, audio, multimedia, voice or video, voicemail, system messages,data traffic (e.g., user-opted notifications including, but not limitedto, traffic reports, news alerts, weather information, stock reports),social networking chats, social networking posts and/or socialnetworking status updates.

The core network 106 can also include data store components and/ormemory storing information and/or computer-readable storage mediastoring computer-executable instructions enabling various operations bythe communication devices 102, 104. In some embodiments, the corenetwork 106 can include data store components and/or memory storingcomputer-executable instructions and/or settings for providingheterogeneous messaging to, from or within the communication devices102, 104. In some embodiments, a data store component can storesettings, and/or memory can store computer-executable instructions,enabling the communication device 104 to operate according toheterogeneous messaging protocols as described in greater detail herein.

In some embodiments, the network 106 can include rules and/or policiesfor heterogeneous messaging in accordance with embodiments disclosedherein. In some embodiments, heterogeneous messaging can includethreading heterogeneous messaging content. Messaging content caninclude, but is not limited to, SMS messages, MMS messages, emailmessages, voice calls, video calls, voicemail messages and any othertype of data or voice traffic that can be transmitted from or receivedat the communication devices 102, 104. For example, system messages,text (e.g., MMS messages, SMS messages, email messages, instantmessages), pictorial, video, audio, data traffic (e.g., user-optednotifications including, but not limited to, traffic reports, newsalerts, weather information, stock reports), social networking chats,social networking posts, social networking status updates can also betransmitted from or received at the communication devices 102, 104.

In various embodiments, heterogeneous messaging can include orderingmessaging content according to the time that the messaging content isreceived by the recipient of the messaging content. The most recentlyreceived messaging content can be displayed at the bottom of the threadof threaded messaging content in some embodiments. Ordering based onsent time could result in messages and/or voice calls being listed outof order, hidden off the screen of the communication device, and/orcause difficultly for the user to follow the history of the conversationthread. As such, ordering message from a recipient-centric perspectiveis desired.

In various embodiments, the communication devices 102, 104 can bemobile, wireless, wireline and/or optical devices. The communicationdevices 102, 104 can include, but are not limited to, a mobile orcellular telephone including, but not limited to, a smartphone,BLUETOOTH® device, a 3GPP UMTS phone, a personal digital assistant(PDA), computer, IP television (IPTV), wireline phone with mobilemessaging functionality, gaming console, a set top box (STB), amulti-media recorder, a multi-media player, a video recorder, a videoplayer, an audio recorder, an audio player, laptop, a printer, a copierand/or a scanner.

In various embodiments, the communication devices 102, 104 can includehardware, software or a combination of hardware and softwarefacilitating operation according to one or more communication protocolsdescribed above with reference to the core network 106, or thefunctionality facilitated by the hardware, software or combinationhardware and software described above with reference to the core network106. The communication protocols and/or functionality can include, butis not limited to, MMS, SMS, WLAN, WiFi, WiMAX, BLUETOOTH® protocol,text messaging, electronic mail messaging, facsimile, multimedia and/orany number of other protocols or functionalities as described above withreference to the communications protocols or functionalities facilitatedby core network 106. In various embodiments, the communication devices102, 104 can transmit and/or receive voice, text, pictorial, video,audio and/or data traffic to and from the communication devices 102,104.

In some embodiments, the communication devices 102, 104 can includehardware, software and/or a combination of hardware and software tofacilitate providing heterogeneous messaging, from, to or within thecommunication devices 102, 104 as described herein. For example, invarious embodiments, as shown at communication device 102, thecommunication devices 102, 104 can include a heterogeneous messagingcomponent 108 and a UI component 110 for heterogeneous messaging at thecommunication device 102. In various embodiments, the UI component 110can facilitate receiving or outputting information for providing orenabling the one or more heterogeneous messaging functions or protocols,providing or enabling communication to or from the communication device102, accessing information stored within, or storing information within,the communication device 102, or any controlling the communicationdevice 102, or receiving information output from the communicationdevice 102, via the UI component 110.

While heterogeneous messaging methods and communication devicesfacilitating such are described below with reference communicationdevice 200, in various embodiments, the communication device 200 can beor include one or more of the functions or structure (or portionsthereof) of communication device 102, 104 (and vice versa).

Turning now to FIG. 2, FIG. 2 illustrates a block diagram of acommunication device that facilitates security in accordance withvarious aspects and embodiments described herein. The communicationdevice 200 can include a UI component 202, a heterogeneous messagingcomponent 204, a processor 206, a memory 208 and an input/output (I/O)component 214. In various embodiments, the communication device 200 canalso include a messaging component 210, a data store component 212, adialer component 216 and/or a voicemail component 218. In someembodiments, the heterogeneous messaging component 204 can include or beoperably coupled to a threading component (not shown). In someembodiments, the UI component 202 can include or be operably coupled toa thread UI component (not shown). One or more of the components can becommunicatively coupled to one another to perform the functions of thecommunication device 200 described herein.

Referring first to the I/O component 214, the I/O component 214 caninclude hardware, software and/or a combination of hardware and softwarefacilitating receipt and output of messaging content to and from thecommunication device 200 and/or detection of threading information whenthreading of the messaging content is performed at a location outside ofthe communication device 200. The receipt and transmission of messagingcontent and/or threading information can be utilized to provideheterogeneous messaging at the communication device 200.

Turning now to the UI component 202, the UI component 202 can includehardware, software and/or a combination of hardware and softwarefacilitating display of information from the communication device. Invarious embodiments, the UI component 202 can facilitate display of oneor more conversations. In some embodiments, the conversations caninclude messaging content that is heterogeneous (e.g., voice content andSMS, MMS and/or email messages, instant messages, voicemail, systemmessages, pictorial, video, audio, data traffic (e.g., user-optednotifications including, but not limited to, traffic reports, newsalerts, weather information, stock reports), social networking chats,social networking posts, social networking status update messages). TheUI component 202 can be configured to control the UI to display themessaging content in a single thread at the communication device 200.

In some embodiments, while the communication device 200 and/or the UIfor the communication device 200 is locked (or, in some embodiments,unlocked), the UI component 202 can be configured to display one or morepop-up screens and/or display regions overlaying display regionsprovided prior to receipt of notification of threaded messaging content.

The UI can be any number of different types of UIs including, but notlimited to, a graphical user interface (GUI), a touch-sensitiveinterface (e.g., a touch screen), an interface having capability forreceiving audio input (and outputting audio information) and the like.In some embodiments described herein, the UI can include a touch screenconfigured to receive inputs at the touch screen and graphically outputinformation for heterogeneous messaging from the touch screen. The UIcan be enabled to display alpha and/or numeric characters, messageballoons, images, icons and the like for heterogeneous messaging. Forexample, the UI can display the display regions described in more detailbelow, and shown at FIGS. 5A and 5B.

Turning now to the heterogeneous messaging component 204, theheterogeneous messaging component 204 can include software, hardwareand/or a combination of hardware and software for providingheterogeneous message to, from or within the communication device 200.In some embodiments, processing for the heterogeneous messaging can beinitiated upon receiving the messaging content at the heterogeneousmessaging component 204.

The heterogeneous messaging protocol can be implemented in conjunctionwith execution of a heterogeneous messaging application in someembodiments. The heterogeneous messaging application can be stored on oraccessible to the communication device 200 in various embodiments.

The communication device 200 can include a memory 208 and data storecomponent 212. The memory 208 and/or data store component 212 can storeinformation and/or settings and/or computer-executable instructions forperforming one or more functions described herein for the communicationdevice 200. In various embodiments, as described below with reference tomethod 300 of FIG. 3, the data store component 212 can be aconversations data store component that can store information including,but not limited to, received messaging content, timestamp information,timestamps, messaging content details, conversation IDs and the like.

In various embodiments, the data store component 212 can store datastructures (e.g., user data, application data, metadata); codestructure(s) (e.g., modules, objects, classes, procedures) orinstructions; message hashes; neighbor cell list; information relatingto securing the communication device 200 and information associatedtherewith, displaying information in the UI display screen, generatingor displaying an overlay display region, generating or processingnotifications and associated notification-related information; networkor device information like policies and specifications; attachmentprotocols; code sequences for scrambling, spreading and pilot (e.g.,reference signal(s)) transmission; frequency offsets; cell IDs; encodingalgorithms; compression algorithms; decoding algorithms; decompressionalgorithms; and so on. In an aspect, the processor 206 can befunctionally coupled (e.g., through a memory bus) to the data storecomponent 212 in order to store and retrieve information (e.g., neighborcell list; information relating to securing the communication device 200and information associated therewith, displaying information in the UIdisplay screen, generating or displaying an overlay display region,generating or processing notifications and associatednotification-related information; frequency offsets; desired algorithms;etc.) desired to operate and/or confer functionality, at least in part,to, heterogeneous messaging component 204, UI component 202, and/orother operational aspects or components of the communication device 200.

In various embodiments, the heterogeneous messaging component 204 canimplement one or more heterogeneous messaging protocols as describedherein with reference to methods 300, 400 and/or display regions 500,500′.

Turning first to methods 300, 400, FIGS. 3 and 4 illustrate flowchartsof exemplary methods for heterogeneous messaging at a communicationdevice in accordance with various aspects and embodiments describedherein. In various embodiments, heterogeneous messaging can becontrolled and/or implemented by the heterogeneous messaging component204 described with reference to FIG. 2.

Method 300 can include, at step 302, storing, in a data store component(such as data store component 212 of FIG. 2), messaging content receivedat the communication device. In some embodiments, the data storecomponent can be database. In various embodiments, the data storecomponent 212 and/or database can be located remote from thecommunication device 200 and merely communicatively coupled to thecommunication device 200.

Referring to FIGS. 2 and 3, in some embodiments, the communicationdevice 200 can also include a dialer component 216 and/or a voicemailcomponent 218, each of which can be employed for performing the method300. In various embodiments, when a message is received, the method caninclude receiving an incoming SMS notification or MMS notificationprovided to the messaging component 210 of the communication device 200.In various embodiments, when a call is received, the method can includereceiving an incoming call notification at a dialer component 216 andthe dialer component 216 providing information to the conversationapplication with information regard to the call details. In someembodiments, the dialer component 216 can include a dialer applicationfor performing one or more of the functions of the dialer component 216.The information provided to the conversation application can include,but is not limited to, timestamp information re the time that the callwas received, the sender of the call, the telephone number associatedwith the call and/or city and state from which the call originated. Forexample, for mobile terminated (MT) calls and mobile originated (MO)calls, the information (e.g., telephone number, timestamp) is providedby the dialer component 216 to the conversations application.

In some embodiments, the information provided to the conversationapplication from the dialer component 216 can be a universal resourcelocator (URL). As such, received messages are differentiated fromreceived calls through the application receiving and processing thedifferent messaging content.

In some embodiments, the dialer component 216 can provide information toa voicemail component 218 configured to process voicemails associatedwith calls received at the communication device 200. For example, thevoicemail component 218 can include a voicemail platform for processingand/or creating and/or storing voicemails (or information associatedwith the voicemail) and/or associating a timestamp with the voicemail.The voicemail component 218 can provide such information to theconversations application.

At 304, method 300 can include identifying and/or generating a timestampassociated with the messaging content. For SMS messages, a timestamp isgenerated by the conversations application at the time of receipt at thecommunication device. For MMS messages, a timestamp is generated at thetime of receipt at the communication device and provided to theconversations application. For calls, the timestamp is provided by callnotification data to the dialer component and the dialer component canforward the same timestamp to the conversations application.

At 306, method 300 can include storing the received timestamp in a datastore component. At 308, method 300 can include grouping under the sameconversation identification (ID), of the data store component ordatabase, messaging content details and/or other information associatedwith the messaging content. In some embodiments, the messaging contentis for a conversation and the received messaging content is from thesame telephone number.

At 310, method 300 can include threading the messaging content (e.g.,calls and/or messages) associated with the same conversation ID, and/orin the order indicated by the timestamp. Threading can be groupingmessages together in parent/child relationships based on which messagesare replies to which other messages.

Data store component queries can be provided to fetch the messagingcontent entries in the data store component for a single conversationthread in sorted order based on the received time at the communicationdevice. SQLite queries can be used to perform fetching and can performthe sorting based on the information retrieved. The messaging contentfrom a same telephone number (including calls and messages) are thensorted and displayed in the thread based on received time.

At 312, method 300 can include displaying the sorted messaging contentusing a thread UI (not shown in FIG. 2). The sorted messages can bedisplayed via the communication device. The list of messages and callsassociated with the conversation ID can be provided to the UI fordisplay of the conversation. In various embodiments, a backend moduleassociated with the conversations application can provide the sortedlist of messaging content for a thread. As such, the UI can display themessaging content in the UI in the sorted order. The most recentmessaging content can be displayed at the bottom of the thread in someembodiments.

Method 400 is another method of heterogeneous messaging. The method 400can include executing an application at 402. In some embodiments, theapplication includes a messaging application and a display application.In some embodiments, the method 400 executes a single application andbegins with step 404.

At 404, method 400 can include receiving messaging content. in someembodiments, the messaging content can be received via messagingapplication.

At 406, method 400 can include displaying the messaging content in asingle thread, wherein the messaging content is threaded and a thread ofthe messaging content comprises at least one message and at least onevoice call.

At 408, method 400 can include executing a threading application, andthreading the messaging content, via the threading application. Thethreading can comprise ordering the messaging content based, at least,on a time at which received ones of the messaging content are receivedat a communication device. In some embodiments, prior to the orderingthe messaging content, the method can include determining (not shown)the time at which received ones of the messaging content are received atthe communication device, and associating (not shown) timestamps withthe received ones of the messaging content and with sent ones of themessaging content.

In some embodiments, method 400 can include displaying (not shown), viaa user interface controlled by the display application, threadedmessaging content. Displaying the threaded messaging content can includedisplaying sent ones of the threaded messaging content in a first regionof a screen of the communication device, and displaying received ones ofthe threaded messaging content in a second region of the screen of thecommunication device. For example, with reference to FIG. 5A, sentmessages can be on a left portion of the display region of the UI andreceived messages can be on a right portion of the display region. Inother embodiments, the sent and received messages can be provided on atop or bottom portion of the display region.

Another method (not shown) can include: executing a messagingapplication and a display application; receiving, via the messagingapplication, messaging content; and displaying the messaging content ina single thread, wherein the messaging content is threaded in an orderof the messaging content based, at least, on a perspective of acommunication device at which the messaging content is received. Themethod can also include, in some embodiments, ordering the messagingcontent.

Ordering can be based, at least, on the perspective of the communicationdevice at which the messaging content is received, wherein orderingbased on such perspective includes ordering based, at least, on a timeat which received ones of the messaging content are received at acommunication device.

In some embodiments, prior to the ordering the messaging content, themethod can include determining (not shown) a time at which received onesof the messaging content are received at the communication device, andassociating (not shown) timestamps with the received ones of themessaging content and with sent ones of the messaging content.

In some embodiments, the method can also include displaying, via a UIcontrolled by the display application, threaded messaging content.Displaying the threaded messaging content can include displaying sentones of the threaded messaging content in a first region of a screen ofthe communication device, and displaying received ones of the threadedmessaging content in a second region of the screen of the communicationdevice.

FIG. 5A illustrates a block diagram of a display region of a UIproviding a messaging screen that facilitates threaded messaging for aselected entity in accordance with aspects described herein. Thethreaded messaging can be a conversation, which can include one or moretelephone calls (e.g., voice calls, video calls), MMS messages, emailmessages, instant messages and/or SMS messages grouped by commonrecipients. Each conversation has a unique set of recipients. In variousembodiments, the conversation can also include, but is not limited to,voicemail, system messages, text, pictorial, audio, data traffic (e.g.,user-opted notifications including, but not limited to, traffic reports,news alerts, weather information, stock reports), social networkingchats, social networking posts and/or social networking status updates.

In various embodiments, the recipient and transmission mode can beone-to-one, group or broadcast conversations mode. The group andbroadcast conversation modes can be enabled and recipients selected byselection such options and recipients on the communication device.

In one-to-one conversation mode, a message is transmitted to onerecipient. As noted, a message can include, but is not limited to,telephone calls (e.g., voice calls, video calls), MMS messages, emailmessages, instant messages and/or SMS messages, voicemail, systemmessages, text, pictorial, audio, data traffic (e.g., user-optednotifications including, but not limited to, traffic reports, newsalerts, weather information, stock reports), social networking chats,social networking posts and/or social networking status updates. Theone-to-one conversation mode employs SMS transmission unless media isattached to the message, in which case an MMS message is used.

In broadcast conversation mode, a message and/or voice call istransmitted to more than one recipient. Each recipient views only thesender's messages and/or voice calls. In the absence of media, messagesare transmitted over SMS.

In group conversation mode, a message is transmitted between two or morerecipients and a sender, with all recipients seeing all messages to andfrom other recipients. Regardless of whether media is attached, allmessages are transmitted over MMS with addresses populating the ccfield. In a group conversation, the conversation can illustrate messagesand/or calls threaded for a group of recipients. The recipients can benoted on the communication device screen and any message or call sent orreceived from or to anyone in the group is shown in the conversation.

Each message can represent a call, an SMS message or an MMS message. Inthe case of a call, the Message has can have no message componentsbecause the message can be represented in a message object. In the caseof an SMS, there can be a single message component holding the text ofthe message. In the case of an MMS, there can be any number of messagecomponents, each representing either text or a supported media typeincluding, but not limited to, a picture, audio file or the like. Therecipient can be the user sending or receiving a call, SMS or MMS. Therecipient's information can be linked with the recipient's contact dataif an entry for the recipient exists in the contacts information on thecommunication device or is accessible by the communication device.

The messaging screen 500 can provide a display area 510. The displayarea 510 can display messaging content 512, 514, 516, 518 to or from anindividual or group, indicia 524 identifying the individual or group, abutton 528 for displaying one or more conversations, a button 526 forindicating whether a contacts or social media screen or conversationscreen when the UI is a triptych UI, as described in U.S.Non-Provisional patent application Ser. No. 12/645,726, filed Dec. 21,2009, titled “SYSTEMS, APPARATUS, METHODS AND COMPUTER-READABLE STORAGEMEDIA FOR FACILITATING INTEGRATED MESSAGING, CONTACTS AND SOCIAL MEDIAFOR A SELECTED ENTITY,” which is incorporated herein by reference in itsentirety.

The messaging content 512, 514, 516, 518, 519 can compose theconversation history displayed in the display area 510. The conversationhistory can be a chronological history of sent and received messagingcontent. The sent and received messaging content can include sent and/orreceived telephone (or video) calls and text or other non-telephone callmessages. The most recent event or messaging content can appear at thebottom of the list. If more than a predetermined number of events ormessaging content is displayed, only the most recent number isdisplayed. In some embodiments, the predetermined number of events ormessaging content is 25 events or messaging content displays.

In some embodiments, if the conversation includes more than one unreadevent (e.g., unread messaging content), the list can be position at thetop of the oldest unread object. However, in some embodiments whereinthe UI is a triptych UI, if the triptych UI is navigated from themessaging screen to the social media or contacts screen, and then backto the messaging screen, the position of the conversation list isdisplayed to be the same position of the conversation list prior tonavigating to the social media or contacts screen. In other embodiments,the list position is preserved after a call detail or message detailoverlay is displayed on the UI. The call detail or message detail can beinformation about a telephone call or other messaging content in theconversation list. The call detail and message detail can include suchas the author of the messaging content, the duration of a call, the timeof a call or other messaging content received by the recipient and/orany error notifications re the call or other messaging content. In someembodiments, the communication device 200 can display the call detail orother messaging content detail when the communication device 200 detectsthat the call or other messaging content has been selected (e.g.,depressed, activated) for a predetermined amount of time.

In some embodiments, the list position is not preserved for messagingcontent taller than the height of the area in which the conversationhistory is displayed. In these cases, the position of the list defaultsto the top of the messaging content.

In some embodiments, the indicia 524 identifying the individual or groupcan be a contact name stored in the contacts of the communication device200.

In various embodiments, the messaging content can be provided in bubblesor other visual indicia of the individual or groups that transmitted themessaging content 512, 514, 516, 518, 519. The messaging content 512,514, 516, 518, 519 can be organized in chronological order, by the timeat which the content was received at the communication device 200. Whenmessaging content 512, 514, 516, 518, 519 is sent from the communicationdevice 200, such as messaging content 519, the messaging content 519 canbe ordered according to the time that it was sent from the communicationdevice. Thus, the ordering and display of messaging content can beuser-centric by being based on the perspective of the user viewing themessaging content.

Similarly, as shown in FIG. 5B, the display of the messaging content atthe communication device 200′ that sent the messaging content 516 isordered according to the perspective of the communication device thatsent the messaging content 516. As such, the messaging content 516appears earlier than the messaging content 512, 514 because themessaging content 516 is ordered according to the perspective of thecommunication device 200′. The ordering can be as shown in FIG. 5B.

As shown in FIG. 5B, because the messaging content 516 was sent from thecommunication device 200 prior to sending messaging content 512, themessaging content 516 is displayed above the displayed content 512.Similarly, the messaging content 519 was received by the communicationdevice 200′ after receiving the messaging content 518, so the messagingcontent 519 is displayed after the messaging content 518. In general,the system can be configured to display for each communication device, auser-centric ordering of heterogeneous (or homogeneous) messagingcontent such that messaging content sent from a communication device isdisplayed on a communication device in an order according the time thatthe messaging content was sent from the communication device, and suchthat messaging content received at the communication device is displayedon the communication device in an order according to the time that themessaging content was received at the communication device.

As such, referring back to FIG. 5A, because messaging content 516 wasnot received by the communication device 200 until after the messagingcontent 512 had been received by the communication device 200′, themessaging content 516 on communication device 200 is shown below themessaging content 512. Similarly, referring to FIG. 5B, becausemessaging content 516 was sent from communication device 104 beforemessaging content 512 was sent from communication device 104, themessaging content 516 on communication device 104 is shown above themessaging content 512.

Referring back to FIG. 5A, in some embodiments, the display area 510 canalso include time information in the form of a timestamp or any othermanner for indicating a time that messaging content was received. Thetime information can be displayed when a predetermined amount of timehas passed since the last event or messaging content. When such occurs,the next event or messaging content can be displayed in association withtime information for the call or other messaging content.

Time information can also be displayed and/or associated with a messagebased on a 12-hour clock in the format [HH]:[MM] [am or pm] (e.g., 1:00pm), or based on a 24-hour clock in the format [HH]:[MM] (e.g., 13:00).

In various embodiments, the time information can be displayed and/orassociated with a message, in a short format or a long format and, foreach format, based on the time or date associated with the messagingcontent. For example, for short format or long format, time informationfor messaging content associated with the current day can include12-hour or 24-hour format time information.

In long format, time information for messaging content associated with aday prior to the current day can include the 12-hour or 24-hour formattime and other indicia such as, but not limited to, the day, monthand/or year of the messaging content.

By way of example, but not limitation, for long format, time informationcan be as follows. Time information for messaging content associatedwith the previous day can be any indicia indicating that the messagingcontent is associated with a previous day) along with the 12-hour or24-hour format of the time associated with the messaging content (e.g.,“Yesterday 2:42 pm”). Time information for messaging content more thanone day prior to the current day and less than one week prior to thecurrent day can be indicated as the day of the week along with the12-hour or 24-hour format of the time associated with the messagingcontent (e.g., “Sunday 2:42 pm”). Time information for messaging contentmore than one week prior to the current day and in the same year as thecurrent day can be indicated as the day, month and date associated withthe messaging content along with the 12-hour or 24-hour format of thetime associated with the messaging content (e.g., “Fri, Jun 11 2:42pm”). In some embodiments, the date can be indicated using alphacharacters along with the 12-hour or 24-hour format of the timeassociated with the messaging content (e.g., “Fri, Jun Eleventh 2:42pm”). Time information for messaging content more than one week prior tothe current day and in another year as the current day can be indicatedas the month, date and year associated with the messaging content alongwith the 12-hour or 24-hour format of the time associated with themessaging content (e.g., “June 11, 08 2:42 pm”). In some embodiments,one or more of the month and/or year can be truncated. In someembodiments, one or more of the day and month can be truncated. In someembodiments, the date and/or year can be indicated using alphacharacters. For example, the date can be indicated as “Eleventh” insteadof “11”.

By contrast, in short format, time information for messaging contentassociated with a day prior to the current day can include indicia suchas, but not limited to, the day, month and/or year of the messagingcontent in lieu of also including the 12-hour or 24-hour format.

By way of example, but not limitation, for short format, timeinformation can be as follows. Time information for messaging contentassociated with the previous day can be any other indicia indicatingthat the messaging content is associated with a previous day (e.g.,“Yesterday”). Time information for messaging content more than one dayprior to the current day and less than one week prior to the current daycan be indicated as the day of the week (e.g., “Sunday”). Timeinformation for messaging content more than one week prior to thecurrent day and in the same year as the current day can be indicated asthe day, month and date associated with the messaging content (e.g.,“Fri, Jun 11”). In some embodiments, one or more of the day and monthcan be truncated. In some embodiments, the date can be indicated usingalpha characters (e.g., “Fri, Jun Eleventh”). Time information formessaging content more than one week prior to the current day and inanother year as the current day can be indicated as the month, date andyear associated with the messaging content (e.g., “Jun 11, 08”). In someembodiments, one or more of the month and/or year can be truncated. Insome embodiments, one or more of the day and month can be truncated. Insome embodiments, the date and/or year can be indicated using alphacharacters. For example, the date can be indicated as “Eleventh” insteadof “11”.

In some embodiments, time information is displayed associated with themessaging content when a predetermined amount of time since the receiptor sending of an event or messaging content has elapsed. In someembodiments, the predetermined amount of time is 20 minutes.

The messaging content 512, 514, 516, 518, 519 can include, but is notlimited to, textual, graphical, video and/or pictorial information. Themessaging content can be indicative of a telephone call (such as thatshown at 516, 519), a text message (such as that shown at 512, 514,518), an email message, a picture message or otherwise. Additionally,the messaging content can include audio files and/or links to websitesor audio files. As shown in FIGS. 5A and 5B, the type of messagingcontent is heterogeneously composed of different types of messagesdisplayed in the display area 510. As such, different types of messages,including but not limited to, indicia indicating incoming, ongoing ormissed telephone calls, can be displayed with text messages, emailmessages, picture messages, website links, and the like.

As shown in FIGS. 5A and 5B, while the sender can make a telephone callto the communication device 200 at a selected time, as described atmessage 512, the messaging content 512, 514, 516, 518, 519 is ordered inthe display region 510 based on the time that the communication devicereceives the messaging content, as compared to the ordering anddisplaying the messaging content 512, 514, 516, 518, 519 based on thetime that the sender sends the message. As such, the system can accountfor network delay between the sender and the recipient, and display areceived telephone call (shown as messaging content 516), for example,based on the time that the call is received by the communication device200.

As such, the system can provide continuity of display of messagingcontent 512, 514, 516, 518, 519 based on the perspective of therecipient, as opposed to the sender, to facilitate threading telephonecalls into the conversation thread. Due to the real-time nature oftelephone calls, because the system threads telephone call messagingcontent with other messaging content, and telephone calls are presumedto be provided in real-time, and is typically handled as real-time data,ordering messaging content with a recipient-based approach is uniquelytied to the type of data (i.e., calls) being included in the thread.

With systems that thread only non-real-time data (e.g., text messages,email messages), ordering messages based on the time that the sendersent the message (instead of ordering based on the time that therecipient received the message) can be provided and easily used by theuser. It would not be obvious to adapt sender-based systems torecipient-based systems because the nature of the data previouslytransmitted (non-real-time data) would reduce the need for a recipientreceipt based approach because the received time is not critical.

The display region 510 can also include a text box 520 for entering textto send to another user, and a button 522 or region of the displayregion 510 that can be depressed or otherwise activated to send themessage after the message has been typed into text box 520.

In some embodiments, the display region 510 can display sent andreceived messages between the user of the communication device 200 and acontact (or entity representing a plurality of people, such as anorganization, or the like). In some embodiments, the sent messagingcontent can be displayed on one side of the display area 510 and thereceived messaging content can be displayed on the other side of thedisplay area 510. In one embodiment, received messaging content isdisplayed on the left side of the display area 510 and sent messagingcontent is displayed on the right side of the display area 510.

While the embodiments described herein are described with reference to acombination of two or more components, in various embodiments, one ormore of the functions or structure (or part thereof) associated with thetwo or more components of the communication devices 102, 200 can beperformed or provided in the heterogeneous messaging component 204,respectively. Additionally, steps associated with various methodsdescribed herein that can be described with reference to differentcomponents or applications can be performed by a single component orapplication. Finally, multiple steps can be combined and performed in asingle step, single steps can be performed as multiple steps, and stepsdescribed as being performed in sequence or parallel can be performedpartly or completely in parallel or sequence, respectively.

While threading has been described with regard to threading beingdisplayed while the communication device 200 is displaying conversationsand/or messaging generally, in various embodiments, threading can beperformed and displayed while the communication device 200 and/or UI islocked. Communication devices and/or UIs can be locked based on anynumber of different protocols including, but not limited to, thesecurity protocols described in U.S. Non-Provisional patent applicationSer. No. 12/902,979, filed Oct. 12, 2010, titled “LOCKING AND UNLOCKINGOF AN ELECTRONIC DEVICE USING A SLOPED LOCK TRACK, U.S. Non-ProvisionalPatent Application No. 12/643,726, filed Dec. 21, 2009, titled “SYSTEMS,APPARATUS, METHODS AND COMPUTER-READABLE STORAGE MEDIA FOR FACILITATINGINTEGRATED MESSAGING, CONTACTS AND SOCIAL MEDIA FOR A SELECTED ENTITY,the entire contents of each of which are incorporated herein byreference.

In various embodiments, while the communication device and/or UI islocked, threading of messaging content (e.g., voice, voicemail, systemmessages, text (e.g., MMS messages, SMS messages, email messages,instant messages), pictorial, video, audio, data traffic (e.g.,user-opted notifications including, but not limited to, traffic reports,news alerts, weather information, stock reports), social networkingchats, social networking posts and/or social networking status updates)can be performed. One or more portions of the threaded content can bedisplayed.

For example, as shown in FIG. 6A, a display region 600 of a UI can bedisplayed outputting information 614, 626 indicative of threadedcontent. In some embodiments, while the communication device 200 islocked, the display region 600 can be provided as a pop-up screenoverlaying one or more portions of a screen of the communication device200 that is displayed prior to the display of the pop-up screen.

As shown in FIG. 6A, messaging content 614 can be threaded withmessaging content 626, which can be the next messaging content in thethread, in some embodiments. As such, the threading can be displayed ina horizontal fashion as shown. The most recent messaging content can bedisplayed in display region 600 while the next messaging content 626 inthe thread can be partially displayed in the display region 600 in someembodiments. In some embodiments, swiping left and right can display thethreaded messaging content in chronological order of receipt at thecommunication device.

By way of mere example, but not limitation, messaging content 614 caninclude messaging details 614 a indicative of the sender of the messageand the time that the message was received at the recipient. Themessaging content 614 can also include a message (or portion thereof)614 b and/or media 614 c associated with the messaging content 614. Theicon 614 c can change in appearance based on the type of media attachedto the messaging content 614.

The display region 600 can also display buttons or icons 616, 618 thatcan be activated by a user of the communication device 200 to close thenotification of the messaging content and/or to close the pop-up screen,or to view the entirety of the messaging content. While the messagingcontent 614 is displayed with only a portion of the message showing, insome embodiments, as shown in FIG. 6D, the sender's name and/or anyother information included in the messaging content can be abbreviated.Thus, the button or icon 618 can be activated to display the entirety ofsuch abbreviated information.

As also shown in FIG. 6A, the display region 600 can display icons 622,620, 624 indicative of the type of information displayed in thenotification. For example, in the embodiment shown, a threaded messagingicon 620 can appear in an enlarged fashion relative to the other icons622, 624 to indicate that the notification displays information aboutthreaded messaging.

In various embodiments, the UI component 202 can control the displayregion 600 and/or the pop-up screen displaying the display region 600 todisappear after a pre-defined amount of time of no receipt of inputsfrom the user to the display region 600. By way of example, but notlimitation, the pre-defined amount of time can be 10 seconds.

While FIG. 6A displays a portion of a message that is included in thethreaded messaging content at the communication device 200, as shown atFIGS. 6B, 6C, 6D and 6E, any number of other types of threaded messagingcontent can also be displayed while the communication device 200 and/orUI is locked. By way of example, but not limitation, the threadedcontent displayed can be indicative of a new voicemail (as shown in FIG.6B), numerous voicemails threaded within a thread (as shown in FIG. 6C),a missed call (as shown in FIG. 6D) and/or a group text messageincluding media (as shown in FIG. 6E).

FIG. 7 illustrates an exemplary operating environment that facilitatesthe systems, apparatus and methods described herein. In order to provideadditional context for various aspects of the embodiments describedherein, FIG. 7 and the following discussion are intended to provide abrief, general description of a computing environment 700 in which thevarious aspects described herein can be implemented. While thedescription above is in the general context of computer-executableinstructions that can run on one or more computers, those skilled in theart will recognize that the claimed subject matter also can beimplemented in combination with other program modules and/or as acombination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the inventive methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, as well as personalcomputers, hand-held computing devices, microprocessor-based orprogrammable consumer electronics, and the like, each of which can beoperatively coupled to one or more associated devices.

The illustrated aspects of the disclosed subject matter can also bepracticed in distributed computing environments where certain tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules can be located in both local and remote memory storage devices.

Computing devices can include a variety of media, which can includecomputer-readable storage media and/or communications media, which twoterms are used herein differently from one another as follows.Computer-readable storage media can be any available media that can beaccessed by a computing device and includes both volatile andnon-volatile media, removable and non-removable media. By way ofexample, and not limitation, computer-readable storage media can beimplemented in connection with any method or technology for storage ofinformation such as computer-readable instructions, program modules,structured data, or unstructured data. Computer-readable storage mediacan include, but are not limited to, read-only memory (ROM), randomaccess memory (RAM), Electrically Erasable Programmable Read-Only Memory(EEPROM), flash memory or other memory technology, compact discread-only memory (CD-ROM), digital versatile disk (DVD) or other opticaldisk storage, magnetic cassettes, magnetic tape, magnetic disk storageor other magnetic storage devices, or other tangible and/ornon-transitory media which can be used to store desired information.Computer-readable storage media can be accessed by one or more local orremote computing devices, e.g., via access requests, queries or otherdata retrieval protocols, for a variety of operations with respect tothe information stored by the medium.

Communication media can embody computer-readable instructions, datastructures, program modules and/or other structured or unstructured datain a data signal such as a modulated data signal, e.g., a carrier waveor other transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or “modulated datasignals” refers to a signal that has one or more of its characteristicsset or changed in such a manner as to encode information in one or moresignals. By way of example, and not limitation, communication mediainclude wired media, such as a wired network or direct-wired connection,and wireless media such as acoustic, radio frequency (RF), infrared andother wireless media. Combinations of any of the above can also beincluded within the scope of communication media. In some embodiments,communication media are capable of subsequently propagating throughelectrically conductive media, (e.g., such as a system bus,microprocessor, data port, and the like) and/or non-electricallyconductive media (e.g., in the form of radio frequency microwavefrequency, optical frequency and similar electromagnetic frequencymodulated data signals).

In accordance with various aspects, the computing environment 700 forimplementing various aspects includes a computer 710, the computer 710including a processing unit 714, a system memory 712 and a system bus716. The system bus 716 couples system components including, but notlimited to, the system memory 712 to the processing unit 714. Theprocessing unit 714 can be any of various commercially availableprocessors, such a single core processor, a multi-core processor, or anyother suitable arrangement of processors. The system bus 716 can be anyof several types of bus structure that can further interconnect to amemory bus (with or without a memory controller), a peripheral bus, anda local bus using any of a variety of commercially available busarchitectures. The system memory 712 can include ROM, random accessmemory RAM, high-speed RAM (such as static RAM), erasable programmableread only memory (EPROM), EEPROM, flash memory, and/or the like.Additionally or alternatively, the computer 702 can include a hard diskdrive, upon which program instructions, data, and the like can beretained. Moreover, removable data storage can be associated with thecomputer 710. Hard disk drives, removable media, computer-readablestorage media, etc. can be communicatively coupled to the processingunit 714 by way of the system bus 716.

The system memory 712 can retain a number of program modules, such as anoperating system, one or more application programs, other programmodules, and program data. All or portions of an operating system,applications, modules, and/or data can be, for instance, cached in RAM,retained upon a hard disk drive, or any other suitable location. A usercan enter commands and information into the computer 710 through one ormore wired/wireless input devices, such as a keyboard, pointing andclicking mechanism, pressure sensitive screen, microphone, joystick,stylus pen, etc. A monitor or other type of interface can also beconnected to the system bus 716.

The computer 710 can operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, phones, or other computing devices, such asworkstations, server computers, routers, personal computers, portablecomputers, microprocessor-based entertainment appliances, peer devicesor other common network nodes, etc. The computer 710 can connect toother devices/networks by way of antenna, port, network interfaceadaptor, wireless access point, modem, and/or the like.

The computer 710 is operable to communicate with any wireless devices orentities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least WiFi and BLUETOOTH®wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

WiFi allows connection to the Internet from a desired location (e.g.,couch at home, a bed in a hotel room, or a conference room at work,etc.) without wires. WiFi is a wireless technology similar to that usedin a cell phone that enables such devices, e.g., mobile phones,computers, etc., to send and receive data indoors and out, anywherewithin the range of a base station. WiFi networks use radio technologiescalled IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, fastwireless connectivity. A WiFi network can be used to connectcommunication devices (e.g., mobile phones, computers, etc.) to eachother, to the Internet, and to wired networks (which use IEEE 802.3 orEthernet). WiFi networks operate in the unlicensed 2.4 and 5 GHz radiobands, at an 11 Mbps (802.11a) or 54 Mbps (802.11b) data rate, forexample, or with products that contain both bands (dual band), so thenetworks can provide real-world performance similar to the basic 10BaseTwired Ethernet networks used in many offices.

FIG. 8 illustrates an exemplary network environment that facilitates thesystems, apparatus and methods described herein. FIG. 8 depicts aGSM/General packet radio service (GPRS)/IP multimedia networkarchitecture 800 that includes a GSM core network 801, a GPRS network830 and an IP multimedia network 838. The GSM core network 801 includesa Mobile Station (MS) 802, at least one Base Transceiver Station (BTS)804 and a Base Station Controller (BSC) 806. The MS 802 is physicalequipment or Mobile Equipment (ME), such as a mobile phone or a laptopcomputer that is used by mobile subscribers, with a Subscriber identityModule (SIM) 802 c. The SIM 802 c includes an International MobileSubscriber Identity (IMSI), which is a unique device identifier of asubscriber. The MS 802 includes an embedded client 802 a that receivesand processes messages received by the MS 802. The embedded client 802 acan be implemented in JAVA and is discuss more fully below.

The embedded client 802 a communicates with an application (APP) 802 bthat provides services and/or information to an end user. One example ofthe application can be navigation software that provides near real-timetraffic information that is received via the embedded client 802 a tothe end user. The navigation software can provide road conditions,suggest alternate routes, etc., based at least in part on the locationof the MS 802. Those of ordinary skill in the art understand that thereare many different methods and systems of locating an MS 802.

Alternatively, the MS 802 and a device 802 c can be enabled tocommunicate via a short-range wireless communication link, such asBLUETOOTH® technologies. For example, a BLUETOOTH® SIM Access Profilecan be provided in an automobile (e.g., device 802 c) that communicateswith the SIM 802 c in the MS 802 to enable the automobile'scommunications system to pull information from the MS 802. TheBLUETOOTH® communication system in the vehicle becomes an “embeddedphone” that employs an antenna associated with the automobile. Theresult is improved reception of calls made in the vehicle. As one ofordinary skill in the art would recognize, an automobile is one exampleof the device 802 c. There can be an endless number of devices 802 cthat use the SIM within the MS 802 to provide services, information,data, audio, video, etc. to end users.

The BTS 804 is physical equipment, such as a radio tower, that enables aradio interface to communicate with the MS. Each BTS can serve more thanone MS. The BSC 806 manages radio resources, including the BTS. The BSCcan be connected to several BTSs. The BSC and BTS components, incombination, are generally referred to as a base station (BSS) or radioaccess network (RAN) 803.

The GSM core network 801 also includes a Mobile Switching Center (MSC)808, a Gateway Mobile Switching Center (GMSC) 810, a Home LocationRegister (HLR) 88, Visitor Location Register (VLR) 814, anAuthentication Center (AuC) 818, and an Equipment Identity Register(EIR) 816. The MSC 808 performs a switching function for the network.The MSC also performs other functions, such as registration,authentication, location updating, handovers, and call routing. The GMSC810 provides a gateway between the GSM network and other networks, suchas an Integrated Services Digital Network (ISDN) or Public SwitchedTelephone Networks (PSTNs) 820. In other words, the GMSC 810 providesinterworking functionality with external networks.

The HLR 812 is a data store component or component(s) that comprisesadministrative information regarding each subscriber registered in acorresponding GSM network. The HLR 812 also includes the currentlocation of each MS. The VLR 814 is a data store component orcomponent(s) that contains selected administrative information from theHLR 812. The VLR contains information necessary for call control andprovision of subscribed services for each MS currently located in ageographical area controlled by the VLR. The HLR 812 and the VLR 814,together with the MSC 808, provide the call routing and roamingcapabilities of GSM. The AuC 816 provides the parameters needed forauthentication and encryption functions. Such parameters allowverification of a subscriber's identity. The EIR 818 storessecurity-sensitive information about the mobile equipment.

A Short Message Service Center (SMSC) 809 allows one-to-one ShortMessage Service (SMS) messages to be sent to/from the MS 802. A PushProxy Gateway (PPG) 811 is used to “push” (e.g., send without asynchronous request) content to the MS 802. The PPG 811 acts as a proxybetween wired and wireless networks to facilitate pushing of data to theMS 802. A Short Message Peer to Peer (SMPP) protocol router 813 isprovided to convert SMS-based SMPP messages to cell broadcast messages.SMPP is a protocol for exchanging SMS messages between SMS peer entitiessuch as short message service centers. It is often used to allow thirdparties, e.g., content suppliers such as news organizations, to submitbulk messages.

To gain access to GSM services, such as speech, data, and short messageservice (SMS), the MS first registers with the network to indicate itscurrent location by performing a location update and IMSI attachprocedure. The MS 802 sends a location update including its currentlocation information to the MSC/VLR, via the BTS 804 and the BSC 806.The location information is then sent to the MS's HLR. The HLR isupdated with the location information received from the MSC/VLR. Thelocation update also is performed when the MS moves to a new locationarea. Typically, the location update is periodically performed to updatethe data store component as location-updating events occur.

The GPRS network 830 is logically implemented on the GSM core networkarchitecture by introducing two packet-switching network nodes, aserving GPRS support node (SGSN) 832, a cell broadcast and a GatewayGPRS support node (GGSN) 834. The SGSN 832 is at the same hierarchicallevel as the MSC 808 in the GSM network. The SGSN controls theconnection between the GPRS network and the MS 802. The SGSN also keepstrack of individual MS's locations and security functions and accesscontrols.

A Cell Broadcast Center (CBC) 833 communicates cell broadcast messagesthat are typically delivered to multiple users in a specified area. CellBroadcast is one-to-many geographically focused service. It enablesmessages to be communicated to multiple mobile phone customers who arelocated within a given part of its network coverage area at the time themessage is broadcast.

The GGSN 834 provides a gateway between the GPRS network and a publicpacket network (PDN) or other IP networks 836. In embodiments, the GGSNprovides interworking functionality with external networks, and sets upa logical link to the MS through the SGSN. When packet-switched dataleaves the GPRS network, it is transferred to an external TransmissionControl Protocol (TCP)-IP network 836, such as an X.25 network or theInternet. In order to access GPRS services, the MS first attaches itselfto the GPRS network by performing an attach procedure. The MS thenactivates a packet data protocol (PDP) context, thus activating a packetcommunication session between the MS, the SGSN, and the GGSN.

In a GSM/GPRS network, GPRS services and GSM services can be used inparallel. The MS can operate in one three classes: class A, class B, andclass C. A class A MS can attach to the network for both GPRS servicesand GSM services simultaneously. A class A MS also supports simultaneousoperation of GPRS services and GSM services. For example, class Amobiles can receive GSM voice/data/SMS calls and GPRS data calls at thesame time. A class B MS can attach to the network for both GPRS servicesand GSM services simultaneously. However, a class B MS does not supportsimultaneous operation of the GPRS services and GSM services. That is, aclass B MS can only use one of the two services at a given time. A classC MS can attach for only one of the GPRS services and GSM services at atime. Simultaneous attachment and operation of GPRS services and GSMservices is not possible with a class C MS.

A GPRS network 830 can be designed to operate in three network operationmodes (NOM1, NOM2 and NOM3). A network operation mode of a GPRS networkis indicated by a parameter in system information messages transmittedwithin a cell. The system information messages dictates a MS where tolisten for paging messages and how signal towards the network. Thenetwork operation mode represents the capabilities of the GPRS network.In a NOM1 network, a MS can receive pages from a circuit switched domain(e.g., call) when engaged in a data call. The MS can suspend the datacall or take both simultaneously, depending on the ability of the MS. Ina NOM2 network, a MS cannot receive pages from a circuit switched domainwhen engaged in a data call, since the MS is receiving data and is notlistening to a paging channel. In a NOM3 network, a MS can monitor pagesfor a circuit switched network while received data and vice versa.

The IP multimedia network 838 was introduced with 3GPP Release 5, andincludes an IP multimedia subsystem (IMS) 840 to provide rich multimediaservices to end users. A representative set of the network entitieswithin the IMS 840 are a call/session control function (CSCF), a mediagateway control function (MGCF) 846, a media gateway (MGW) 848, and amaster subscriber data store component, called a home subscriber server(HSS) 850. The HSS 850 can be common to the GSM network 801, the GPRSnetwork 830 as well as the IP multimedia network 838.

The IP multimedia system 840 is built around the call/session controlfunction (CSCF), of which there are three types: an interrogating CSCF(I-CSCF) 843, a proxy CSCF (P-CSCF) 842, and a serving CSCF (S-CSCF)844. The P-CSCF 842 is the MS's first point of contact with the IMS 840.The P-CSCF 842 forwards session initiation protocol (SIP) messagesreceived from the MS to an SIP server in a home network (and vice versa)of the MS. The P-CSCF 842 can also modify an outgoing request accordingto a set of rules defined by the network operator (e.g., addressanalysis and potential modification).

The I-CSCF 843 forms an entrance to a home network and hides the innertopology of the home network from other networks and providesflexibility for selecting an S-CSCF. The I-CSCF 843 can contact asubscriber location function (SLF) 845 to determine which HSS 850 to usefor the particular subscriber, if multiple HSS 850 are present. TheS-CSCF 844 performs the session control services for the MS 802. Thisincludes routing originating sessions to external networks and routingterminating sessions to visited networks. The S-CSCF 844 also decideswhether an application server (AS) 852 is required to receiveinformation on an incoming SIP session request to ensure appropriateservice handling. This decision is based on information received fromthe HSS 850 (or other sources, such as an application server 852). TheAS 852 also communicates to a location server 856 (e.g., a GatewayMobile Location Center (GMLC)) that provides a position (e.g.,latitude/longitude coordinates) of the MS 802.

The HSS 850 contains a subscriber profile and keeps track of which corenetwork node is currently handling the subscriber. It also supportssubscriber authentication and authorization functions (AAA). In networkswith more than one HSS 850, a subscriber location function providesinformation on the HSS 850 that contains the profile of a givensubscriber.

The MGCF 846 provides interworking functionality between SIP sessioncontrol signaling from the IMS 840 and ISDN User Part (ISUP)/BearerIndependent Call Control (BICC) call control signaling from the externalGSTN networks (not shown). It also controls the media gateway (MGW) 848that provides user-plane interworking functionality (e.g., convertingbetween Adaptive Multi-Rate (AMR)- and Pulse-code modulation (PCM)-codedvoice). The MGW 848 also communicates with other IP multimedia networks854.

In some embodiments, the IP networks 836 described herein includenetworks communicatively coupled to social networking sites. As such,the networks disclosed herein can also include such IP networks 836 andone or more social networking sites.

It is to be appreciated and understood that components (e.g., UE, AP,core network, security component, UI, overlay component, etc.), asdescribed with regard to a particular system or methodology, can includethe same or similar functionality as respective components (e.g.,respectively named components, similarly named components) as describedwith regard to other systems or methodologies disclosed herein.

As it employed in the subject specification, the term “processor” canrefer to substantially any computing processing unit or devicecomprising, but not limited to comprising, single-core processors;single-processors with software multithread execution capability;multi-core processors; multi-core processors with software multithreadexecution capability; multi-core processors with hardware multithreadtechnology; parallel platforms; and parallel platforms with distributedshared memory. Additionally, a processor can refer to an integratedcircuit, an application specific integrated circuit (ASIC), a digitalsignal processor (DSP), a field programmable gate array (FPGA), aprogrammable logic controller (PLC), a complex programmable logic device(CPLD), a discrete gate or transistor logic, discrete hardwarecomponents, or any combination thereof designed to perform the functionsdescribed herein. Processors can exploit nano-scale architectures suchas, but not limited to, molecular and quantum-dot based transistors,switches and gates, in order to optimize space usage or enhanceperformance of user equipment. A processor can also be implemented as acombination of computing processing units.

In the subject specification, terms such as “data store component,” datastorage,” “data store component,” “repository”, and substantially anyother information storage component relevant to operation andfunctionality of a component, refer to “memory components,” or entitiesembodied in a “memory” or components comprising the memory. For example,information relevant to operation of various components described in thedisclosed subject matter, and that can be stored in a memory, cancomprise, but is not limited to comprising, subscriber information; cellconfiguration (e.g., devices served by an AP) or service policies andspecifications; privacy policies; and so forth. It will be appreciatedthat the memory components described herein can be either volatilememory or nonvolatile memory, or can include both volatile andnonvolatile memory. By way of illustration, and not limitation,nonvolatile memory can include ROM, programmable ROM (PROM), EPROM,EEPROM, phase change memory (PCM), flash memory, or nonvolatile RAM(e.g., ferroelectric RAM (FeRAM)). Volatile memory can include RAM,which acts as external cache memory. By way of illustration and notlimitation, RAM is available in many forms such as synchronous RAM(SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rateSDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), anddirect Rambus RAM (DRRAM). Additionally, the disclosed memory componentsof systems or methods herein are intended to comprise, without beinglimited to comprising, these and any other suitable types of memory.

As used in this application, the terms “component,” “system,”“platform,” “interface,” “module,” and the like can refer to acomputer-related entity or an entity related to an operational machinewith one or more specific functionalities. The entities disclosed hereincan be either hardware, a combination of hardware and software,software, or software in execution. For example, a component can be, butis not limited to being, a process running on a processor, a processor,an object, an executable, a thread of execution, a program, and/or acomputer. By way of illustration, both an application running on aserver and the server can be a component. One or more components canreside within a process and/or thread of execution and a component canbe localized on one computer and/or distributed between two or morecomputers. As another example, an interface can include input/output(I/O) components as well as associated processor, application and/or APIcomponents, and can be as simple as a command line or as complex as anIntegrated Development Environment (IDE). Also, these components canexecute from various computer readable media having various datastructures stored thereon. The components can communicate via localand/or remote processes such as in accordance with a signal having oneor more data packets (e.g., data from one component interacting withanother component in a local system, distributed system, and/or across anetwork such as the Internet with other systems via the signal).

Furthermore, the embodiments can or can be implemented as a method,apparatus or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer, apparatus or article ofmanufacture to implement the functionality disclosed herein. The term“article of manufacture,” as used herein, is intended to encompass acomputer program, or computer program product, accessible from anycomputer-readable device, computer-readable carrier, computer-readablemedia or computer-readable storage media. Computer-readable storagemedia can include, but are not limited to, magnetic storage devices(e.g., hard disk, floppy disk, magnetic strip), optical disks (e.g.,compact disk (CD), DVD, Blu-ray disc (BD), . . . ), smart cards, and/orflash memory devices (e.g., card, stick, key drive). Additionally itshould be appreciated that a carrier wave can carry computer-readableelectronic data (e.g., the data transmitted and received via emailand/or to access the Internet or a network such as a LAN). As known tothose of ordinary skill in the art, modifications can be made to theabove embodiments without departing from the spirit of the disclosure.

Moreover, the word “exemplary” is used herein to mean an example,instance or illustration. Any aspect or design described herein as“exemplary” is not to be construed as preferred or advantageous overother aspects or designs. Rather, use of the word “exemplary” is merelyintended to present examples of embodiments. Further, as used herein,the term “or” is intended to mean an inclusive “or” rather than anexclusive “or”. That is, unless specified otherwise, or clear fromcontext, “X employs A or B” is intended to mean any of the inclusivepermutations (e.g., X employs A, X employs B, X employs A and B). Inaddition, the articles “a” and “an,” as used herein, should be construedto mean “one or more” unless, as specified otherwise, or clear fromcontext, the articles are directed to only a singular form.

As used herein, the terms “infer” or “inference” refer generally to theprocess of reasoning about or inferring states of the system, apparatus,method, environment, and/or user from a set of observations as capturedvia events and/or data. By way of examples, but not limitation,inference can be employed to identify a specific context or action, orcan generate a probability distribution over states. The inference canbe probabilistic (e.g., the computation of a probability distributionover states of interest based on a consideration of data and events).Inference can also refer to techniques employed for composinghigher-level events from a set of events and/or data. Such inference canresult in the construction of new events or actions from a set ofobserved events and/or stored event data, whether or not the events arecorrelated in close temporal proximity, and whether the events and datacome from one or several event and data sources.

What has been described above includes embodiments of claimed subjectmatter. It is, of course, not possible to describe every conceivablecombination of components or methodologies for purposes of describingthe claimed subject matter. However, one of ordinary skill in the artcan recognize that many further combinations and permutations of suchsubject matter are possible. Accordingly, the claimed subject matter isintended to embrace all such alterations, modifications and variationsthat fall within the spirit and scope of the appended claims.Furthermore, to the extent that the term “includes” is used in eitherthe detailed description or the claims, such term is intended to beinclusive in a manner similar to the term “comprising” as “comprising”is interpreted when employed as a transitional word in a claim.

What is claimed is:
 1. A machine-readable storage medium, comprisingexecutable instructions that, when executed by a processor of a mobiledevice, facilitate performance of operations, comprising: sorting, bythe mobile device, content items of messaging content to generatecontent groups, wherein the sorting comprises grouping respectivecontent items in a same content group of the content groups based on therespective content items being determined to be associated with a commonidentifier, and wherein each content group contains social networkinginformation; and facilitating, by the mobile device, displaying ofthreaded respective content items for the same content group, whereinthe facilitating the displaying comprises concurrently facilitating afirst display of a first group of the threaded respective content itemsin a first region of a screen of the mobile device, and facilitating asecond display of a second group of the threaded respective contentitems in a second region of the screen of the mobile device.
 2. Themachine-readable storage medium of claim 1, wherein the socialnetworking information comprises video information.
 3. Themachine-readable storage medium of claim 2, wherein the messagingcontent further comprises a video call.
 4. The machine-readable storagemedium of claim 1, wherein the operations further comprise, prior to thesorting: determining, by the mobile device, times at which receivedcontent items of the messaging content associated with the commonidentifier are received at the communication device.
 5. Themachine-readable storage medium of claim 4, wherein the operationsfurther comprise: based on the times, associating, by the mobile device,timestamps with the received content items of the messaging contentassociated with the common identifier.
 6. The machine-readable storagemedium of claim 1, wherein the facilitating the displaying of thethreaded respective content items further comprises: facilitating thedisplaying, via a user interface of the mobile device, in a thread, thethreaded respective content items for the same content group.
 7. Themachine-readable storage medium of claim 1, wherein the mobile devicecomprises a device comprising a video recorder.
 8. The machine-readablestorage medium of claim 1, wherein the mobile device comprises asmartphone.
 9. A method, comprising: sorting, by a mobile devicecomprising a processor, content items of messaging content to generatecontent groups, wherein the sorting comprises grouping respectivecontent items in a same content group of the content groups based on therespective content items being determined to be associated with a sametelephone number, and wherein each content group contains a video call;and facilitating, by the mobile device, displaying of threadedrespective content items for the same content group, wherein thefacilitating the displaying comprises concurrently facilitating a firstdisplay of a first group of the threaded respective content items in afirst region of a screen of the mobile device, and facilitating a seconddisplay of a second group of the threaded respective content items in asecond region of the screen of the mobile device.
 10. The method ofclaim 9, further comprising, prior to the sorting: determining, by themobile device, times at which received content items of the messagingcontent associated with the same telephone number are received at thecommunication device.
 11. The method of claim 9, further comprising:based on the times, associating, by the mobile device, timestamps withthe received content items of the messaging content associated with thesame telephone number.
 12. The method of claim 9, wherein thefacilitating the displaying of the threaded respective content itemsfurther comprises: facilitating the displaying, via a user interface ofthe mobile device, in a thread, the threaded respective content itemsfor the same content group.
 13. The method of claim 12, wherein themessaging content further comprises audio information.
 14. An apparatus,comprising: a memory that stores executable instructions; and aprocessor coupled to the memory that facilitates execution of theexecutable instructions to perform operations, comprising: sortingcontent items of messaging content to generate content groups, whereinthe sorting comprises grouping respective content items in a samecontent group of the content groups based on the respective contentitems being determined to be associated with common identificationinformation, and wherein each content group contains video calls; andfacilitating displaying of threaded respective content items for thesame content group, wherein the facilitating the displaying comprisesconcurrently facilitating a first display of a first group of thethreaded respective content items in a first region of a screen of theapparatus, and facilitating a second display of a second group of thethreaded respective content items in a second region of the screen ofthe apparatus.
 15. The apparatus of claim 14, wherein the operationsfurther comprise, prior to the sorting: determining times at whichreceived content items of the messaging content associated with thecommon identification information are received at the communicationdevice.
 16. The apparatus of claim 14, wherein the operations furthercomprise: based on the times, associating timestamps with the receivedcontent items of the messaging content associated with the commonidentification information.
 17. The apparatus of claim 14, wherein thefacilitating the displaying of the threaded respective content itemsfurther comprises: facilitating the displaying, via a user interface ofthe apparatus, in a thread, the threaded respective content items forthe same content group.
 18. The apparatus of claim 14, wherein themessaging content further comprises audio information.
 19. The apparatusof claim 14, wherein the apparatus comprises a device comprising a videorecorder.
 20. The apparatus of claim 14, wherein the mobile devicecomprises a smartphone.